/**
 * unknown 类型和 any 类型有些类似，
 * 一个 unknown 类型的变量可以被赋值为任意其它类型，
 * 但只能赋值给 any 与 unknown 类型的变量
 * 
 * any 放弃了所有的类型检查，而 unknown 并没有，所以可以对 unknown 类型的变量进行属性
*/
//被赋值为任意其它类型：
let unknownVar: unknown = "hanxuming";

unknownVar = false;
unknownVar = "hanxuming";
unknownVar = {
  site: "juejin"
};
unknownVar = () => { }

//只能赋值给 any 与 unknown 类型的变量：
const val1: string = unknownVar; // Error
const val2: number = unknownVar; // Error
const val3: () => {} = unknownVar; // Error
const val4: {} = unknownVar; // Error
const val5: any = unknownVar;
const val6: unknown = unknownVar;

//export {}：解决“无法重新声明块范围变量”错误提示问题
export { }
